<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>更新时的问题</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <!-- 遍历数组 -->
        <h2>人员列表</h2>
        <button @click="updateMei">更新马冬梅信息</button>
        <ul>
            <li v-for="p,index in persons" :key="p.id">
                {{p.name}}-{{p.age}}-{{index}}
            </li>
        </ul>
    </div>
</body>
    <script type="text/javascript">
        //#region  用computed实现
        const vm = new Vue({
            el:'#root',
            data:function(){
                return{
                    persons:[
                        {id:'001',name:'马冬梅',age:21,sex:'女'},
                        {id:'002',name:'周冬雨',age:19,sex:'女'},
                        {id:'003',name:'周杰伦',age:18,sex:'男'},
                        {id:'004',name:'温兆伦',age:20,sex:'男'}
                    ]       
                }
            },
            methods: {
                updateMei(){
                    // this.persons[0].name = '马老师' //奏效
                    // this.persons[0].age = 50 //奏效
                    // this.persons[0].sex = '男' //奏效
                    
                    //vue监测不到变化,无法通过下标更改数组
                    //需要通过push/pop/shift/unshift/splice/sort/reverse 这几个被包裹的函数更新数组
                    this.persons[0]={id:'001',name:'马老师',age:50,sex:'男'} 

                }
            },       
        })
        //#endregion

        
    </script>
</html>